package com.sprouting.personal.annotations.impl;

import com.sprouting.personal.annotations.CheckNotNull;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

/**
 * 判断是不是空，请求不能为空
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2022/7/28 23:05
 */
public class CheckNotNullValidator implements ConstraintValidator<CheckNotNull, String> {

    /**
     * 初始化方法
     * @param constraintAnnotation
     */
    @Override
    public void initialize(CheckNotNull constraintAnnotation) {

    }

    /**
     * 校验方法
     * @param str 需要验证的值
     * @param context 校验的上下文
     * @return true 校验成功， false 不合法
     */
    @Override
    public boolean isValid(String str, ConstraintValidatorContext context) {
        if (str == null){
            return false;
        }
        str = str.trim();
        if ("".equals(str) || "undefined".equals(str) || "null".equals(str)) {
            return false;
        }
        return true;
    }

}
